/*****************************
 *@file: PoisonSkill
 *@author: 陈吕唐
 *@desc: 毒技能:攻击附带腐蚀效果，使敌人中毒，并增加受到伤害20%
 *@date: 2024-03-26	15:52
 *****************************/
import { _decorator } from 'cc';
import { BaseCharacter } from '../BaseCharacter';
import { GameEnum } from '../GameEnum';
import IBaseBuffDTO from '../buff/IBaseBuffDTO';
import { BaseBullet } from '../bullet/BaseBullet';
import { LineShootSkill } from './LineShootSkill';
const { ccclass, property } = _decorator;

@ccclass('PoisonSkill')
export class PoisonSkill extends LineShootSkill {
    /****************************************************************************************************************
     *Readonly 常量
     ****************************************************************************************************************/

    /****************************************************************************************************************
     *Property 定义变量
     ****************************************************************************************************************/

    /***************************************************************
     *PropertyUI 引用的控件
     ***************************************************************/

    /****************************************************************************************************************
     * Lifecycle 生命周期相关方法
     ****************************************************************************************************************/

    /****************************************************************************************************************
     * Public 公有方法
     ****************************************************************************************************************/

    /****************************************************************************************************************
     * private 私有方法
     ****************************************************************************************************************/
    protected shootBullet(monster?: BaseCharacter): BaseBullet {
        let bullet = super.shootBullet(monster);

        if (bullet) {
            //涂BUFF
            bullet.buff = this.createBuff();
            this.playAnimation();
        }
        return bullet;
    }

    private createBuff() {
        let buff: IBaseBuffDTO = { id: GameEnum.BuffType.POISON, time: 6, value: this.character.atk };
        return buff;
    }
    /****************************************************************************************************************
     * Property Get && Set 属性的 get && set 函数
     ****************************************************************************************************************/

}

